package com.funong.matrix.biz.system.domain;

import cn.hutool.core.lang.tree.Tree;
import com.funong.matrix.biz.base.dao.SysDictDao;
import com.funong.matrix.biz.base.entity.SysDictEntity;
import com.funong.matrix.core.dto.QueryDTO;
import com.funong.matrix.core.dto.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author : NaNa
 * @since : 2023-05-19 16:56
 **/
@Slf4j
@Service
public class SysDictDomainDao {

    @Resource
    private SysDictDao sysDictDao;

    public Result queryDict(QueryDTO<SysDictEntity> queryDTO) {
        return Result.page(sysDictDao.queryDict(queryDTO));
    }

    public SysDictEntity getDictById(Integer id) {
        return sysDictDao.getDictById(id);
    }

    public SysDictEntity saveDict(SysDictEntity sysDictEntity) {
        return sysDictDao.saveDict(sysDictEntity);
    }

    public SysDictEntity updateDict(SysDictEntity sysDictEntity) {
        return sysDictDao.updateDict(sysDictEntity);
    }

    public Boolean deleteDict(List<Integer> idList) {
        return sysDictDao.deleteDict(idList);
    }

    public List<SysDictEntity> getByParentCode(int systemId, String parentCode) {
        return sysDictDao.getByParentCode(systemId, parentCode);
    }

    /**
     * 下拉选择
     * @param systemId
     * @return
     */
    public List<Tree<Integer>> querySelect(Integer systemId) {
        return sysDictDao.querySelect(systemId);
    }
}
